home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Precision Software Appli…tions Silver Collection 1
/
Precision Software Applications Silver Collection Volume One (PSM) (1993).iso
/
games
/
vga
/
mahjongg.exe
/
MAHG.EXE
/
lha
/
MAHJONGG.DOC
< prev
next >
Wrap
Text File
|
1990-08-11
|
58KB
|
1,173 lines
┌────────┐ MAH JONGG ┌────────┐
│ ├┤ 3 │ Release 3.4, August 11, 1990 │ 0 0 8 │
│ ├┤ │ │ 0 0 │
│ ├┤ ├┤ │ Nels Anderson │ 0 0 │
│ ├┤ ├┤ │ 92 Bishop Drive │ 0 0 │
└────────┘ Framingham, MA 01701-6540 └────────┘
MAH JONGG is an ancient Chinese game whose origins are supposed
to date back some 3000 years. This version has similarities to
solitaire played with cards and also with dominoes since it is
played with tiles. When I first discovered the game my initial
impression was that the game would quickly become dull but having
played it for a while and having given it to friends we've all
found that it is quite addictive despite its apparent simplicity.
This program is designed for a PCompatible that can run in EGA
graphics mode. If you're still running an older video card I'm
afraid the game won't work. (Apparently many people do not
understand the differences between EGA, CGA, VGA, MDA, etc.;
basically, if you get a screen full of letters blinking on and
off when you try to run MAH JONGG you don't have EGA and the
game will not work on your system.) When I originally wrote
MAH JONGG I had never seen a game that used the full EGA
capabilities (640x350, 16 colors) and I thought it would be nice
if there was one.
This version also supports Hercules graphics mode. Since it's
monochrome it's not nearly as pretty as EGA but the resolution is
similar so it's not bad. The type of video you have is now
automatically detected, so you should not have to do anything to
get the right mode.
If your system won't automatically select the right video mode
for some reason, you can force a specific mode using command line
parameters as follows:
mahjongg -h (forces Hercules graphics mode)
mahjongg -e (forces full color EGA graphics mode)
mahjongg -l (forces monochrome EGA graphics mode)
I hadn't planned on doing any versions other than EGA, but
Hercules turned out to be so easy I figured, why not? Recently,
several people suggested adding a monochrome EGA mode for laptop
systems that have an EGA compatible LCD or similar display.
Since I'd already done all the work of making monochrome look
right for the Hercules version, this was easy to add too. I
don't have versions for other video adapters and I don't have
any plans for them since I don't consider any of the lower
resolutions adequate.
Under the Shareware system you may freely try out this program,
but if you continue to use it you are expected to register with
the author and pay the $15 registration fee. In return for your
registration you'll receive the latest version of the game,
including a setup program that allows you to permanently set the
command line options; this utility is not included with the
shareware version. There is also a "deluxe" version available
which includes a binder, printed manual and quick reference
card. The "deluxe" version is $22.
When you register, please let me know what version you have
and I'd also be interested in knowing where you got it from.
Please, make sure to put your name and address on the letter!
It's amazing how many people don't do this. Or, you can use
the instant registration form in the file "orderfrm.txt".
Just copy the file to your printer.
If you live outside the U.S., the best way to register appears
to be by using postal money orders. I've received these from
quite a few countries. In general, foreign checks are not
accepted by U.S. banks (Canadian checks are an exception, but
please allow for the difference in U.S. and Canadian dollars).
EuroCheques, for example, are not acceptable to the bank. You
can also charge your registration to VISA or MasterCard.
If you don't understand the term "Shareware" please read the
file "sharewre.txt".
If you have any suggestions or discover any problems with the
program you can reach me via the )(evious BBS (PCBoard) system
(300/1200/2400/9600-HST, 8N1) at 508-875-3618 or 617-449-7322.
Leave a C)omment to the sysop to reach me. )(evious is the
official support BBS for all my software and the latest versions
are always available for downloading there. There is also a
support conference for people to exchange game tips or ask
questions. J)oin conference #31 and check out the latest tips.
Also check B)ulletin #1 for the latest versions list.
You can also reach )(evious through RelayNet. If there's a
RelayNet board in your area send a routed message to me at node
XEVIOUS. The Shareware conference would be the best choice,
but if that's not available try TPascal, Games or even Common.
I'm also available through CompuServe's email system. Send
email to me at 71020,2613. Or join me and many other Shareware
authors in the Shareware forum (GO SHAREWARE). This forum is
shared with the IBM PCjr forum, so don't let the name confuse
you.
Of course you can also write me at the address at the beginning
of this file. If you're not a registered user don't expect an
answer unless you include a self-addressed, stamped envelope.
Most of the instructions you'll need for playing the game are
built into it; just type H when prompted at the title screen.
Or you can read the instructions below. There is quite a bit
of strategy involved if you are to do well but I'll leave the
strategies up to you to discover. Besides, I'm no expert in
playing the game either.
*****************************************************************************
* PLAYING THE GAME *
*****************************************************************************
OBJECT:
The object of the game is to remove as many of the tiles from
the playing board as possible within the rules of the game.
Tiles are always removed in pairs and can only be removed from
the left or the right edges. Any tile that is not on a left or
right edge is considered blocked and cannot be removed. Note
though that the tiles are arranged in 5 levels and each level
has a left and right edge so there are many more unblocked
tiles than it would first appear. Note that the tile on the
top of the pile blocks all four tiles below it, and tiles on
row 5 block both rows 4 and 6.
SUITS OF TILES:
There are many different suits of tiles and the suit of a tile
determines the rule used for matching tiles that can be removed
together.
MATCHING RULES:
Most of the tile suits require an exact match. This means that
you must match a tile to another that is exactly the same. For
example a Bamboo 1 matches another Bamboo 1 but does not match
a Bamboo 3 or a Dot 1. The other matching rule allows any tile
in the same suit to match any other tile in that suit. Thus,
any of the four seasons (SUM, AUT, WIN, SPR) match each other
and any of the four flowers (MUM, PLUM, BAM, ORC) match each
other.
NUMBER OF TILES:
There is only one each of SUM, AUT, WIN, SPR, MUM, PLUM, BAM,
and ORC. There are four of each of the other tiles for a
total of 144 tiles on the board. A counter keeps track of how
many tiles are left in play. If you want to see what tiles
you have removed so far, hit F2 (though some might consider
this cheating!).
ALTERNATE TILE SETS:
Mah Jongg can be played with tile sets other than the
traditional Chinese tiles that are the default. These
alternate sets can be selected using the command line
option "-u" or from the setup menu. All tile sets are
stored in files with names ending in ".til"; you do not
need to include the ".til" when entering the file name.
Though these tiles will obviously look different from the
standard set the same rules of play still apply; you will
just have to determine which tiles correspond to which of
the original suits. While playing you can hit the F8 key
to see the full current set of tiles.
See the section "USING TILEMAKER" for information on
making your own tile sets.
BOARD LAYOUT:
If you're using a mouse to play you don't need to worry about
the board coordinates; you just point and click. Many game
commands are also there as "keys" that can be clicked on. If
you don't have a mouse, read on...
The game board is a grid marked by letters and numbers. You
select tiles by entering a letter for the column and a number
for the row. Order doesn't matter, entering A5 is the same as
5A. The single tile on the topmost level is H5.
The numbering of the rows is a bit confusing. Row 5 only
exists at the very top level and at the extreme left and right
edges. Rows 4 and 6 are actually adjacent to each other.
If after you've selected your first tile you change your mind,
just hit 'Enter' instead of your second tile selection. After
you've selected both tiles you are asked to confirm your
selection with a Y or N before the tiles are removed. Hitting
the Enter key is the same as hitting Y.
As an alternative to using the coordinates you can use a
"keyboard mouse". This allows you to use the arrow keys to
move a cursor to the tile you want which is then selected by
hitting the Enter key. You enable the keyboard mouse the same
way you would a real mouse, by using the " -m" command line
option or by selecting option 6 in the setup menu.
COMMANDS:
There are commands you can enter in addition to just selecting
tile coordinates. Some are accessed by hitting a single letter
followed by hitting the <Enter> key; others are accessed by
just hitting one of the function keys:
A starts the same board again.
H will give you help selecting tiles. If you ask for
help at the first tile prompt, you will first be told
if there are any moves left, then you may choose to
see any or all of them by hitting Y or N when asked.
If you ask for help when selecting the 2nd tile it
will show you any playable matches for the first tile
you selected.
N starts a new game; the next consecutive board number
is used.
Q will quit the game and return to DOS.
R reloads a saved game; pick the one you want from a list.
S saves your game as MAH#####.SAV, where ##### is the board
number.
U undo the last move. Can be used as many times as you
want until all moves have been undone. (F4 does the
same thing).
Z restore a move that was undone. This is the reverse
of the undo function. You can undo and restore as many
moves as you want. (F6 does the same thing).
F1 will display a summary of commands and other information.
F2 will show the tiles you've removed so far.
F3 goes to the set up screen.
F4 will undo your last move.
F5 shows you your playing statistics.
F6 will undo your last undo (e.g., it will remove the tiles
again).
F7 goes to the tournament set up screen.
F8 displays current tile set.
F10 shells to DOS. Type 'EXIT' to return to the game.
If you are using a mouse, many of these commands are available
as push buttons along the left side of the screen. Just slide
the cursor over the command you want and click. Hitting the
right mouse button is a short-cut way of asking for help. See
the section on using the mouse below.
In summary, the commands are:
Q: Quit N: New game (next board)
H: Help A: Again (replay same board)
S: Save R: Restore a saved game
F1: Commands F2: Tiles played so far
F3: Set up F4: Undo last move (U also works)
F5: Stats F6: Undo last undo (Z also works)
F10: DOS shell F7: Tournament set up
F8: Displays current tile set
COMMAND LINE OPTIONS:
Mah Jongg has a large number of options that can be
selected when starting up the game. Most of these can
also be set using the setup screen, or if you have the
registered version you can use the mahsetup.exe utility to
make your selections permanent.
By making these options available on the command line you
can set up batch files that will run Mah Jongg in
different ways; for example, if two different people play
on the same computer you could have separate batch files
for each person where each one would load a different
statistics file.
The available options are:
-n No title page
-m use Mouse (or keyboard mouse)
-bx play Board x (0 <= x <= 65535)
-tx Timed game (x=length in minutes)
-cx background Color x (0 <= x <= 15)
-dx mouse cursor color x (0 <= x <= 15)
-fn File n is the statistics file
-un Use tile set in file n
-y no Y/N prompt after selecting tiles
-h run in Hercules graphics mode
-e run in full color EGA graphics mode
-l run in Laptop (monochrome EGA) mode
-li run in Laptop mode with inverse video
The command line options are done in a standard way but if
you're not familiar with this sort of thing they may be
confusing so here are some examples.
Command line option examples:
If you want to play a game that will be timed for 10 minutes,
the command line would be:
MAHJONGG -T10
Notice there is no space between the -T and the number of
minutes (10). The other commands work the same way. To use
a different set of tiles, stored in the file "flags.til",
the command line would be:
MAHJONGG -UFLAGS.TIL
You can combine commands too, so to play board 12345 as a 10
minute timed game the command line would be:
MAHJONGG -T10 -B12345
Remember, there is also a setup screen that allows you to
select any of the options that are available on the
command line. Just hit S from the title screen to go to
setup. You can also access setup at any time during a
game by hitting the F3 key or by clicking the mouse on the
button labelled "setup".
If you forget the command line options, just start up the game
with an invalid option and it will give you the proper usage
(i.e., try using "mahjongg -?" which since it is not a valid
option with give the valid option list).
STATISTICS:
It seems that a lot of players are interested in game
statistics, so the game now keeps track of some statistics for
you automatically. A file is made that keeps track of all the
board numbers you've played, which ones you've won, your best
and worst scores, etc. By default, this file is saved in the
current directory under the name "mahstats". You can delete
the file to reset your stats.
You can view some of your stats from within the game by hitting
the F5 key. The separate utility program, "statgen" can be run
on your stats file to give a more complete report. Just type
"statgen" to run it, give it the path and name of your stats
file when requested, and a complete report will be shown on
your screen. For more details, see the section on statgen later
in these docs.
If you have several people playing on the same PC they can each
have their own statistics by using the select statistics file
command line option, -fn where n is the name of the file. For
example, if Fred and Dick both use the same PC, Fred might start
the game as:
MAHJONGG -FFRED.STT
and Dick might start the game as:
MAHJONGG -F\DICKSDIR\DICK.STT
To disable keeping of statistics, use -f with no file name on
your command line.
TOURNAMENTS:
You can play Mah Jongg as a tournament against other players.
In a tournament each person plays a single board under the
exact same conditions (same board number and same time limit,
if any), allowing their results to be compared and a winner to
be determined.
You enter the tournament set up screen either by using the T
option from the title screen or by hitting F7 at any time
during a game. The first player sets up the tournament by
selecting the board number (or by just leaving the one that
was randomly chosen) and whether or not the game will be
timed. After the selections are made the first player enters
his name and plays the game. A record is kept of his results
and the results of each additional person who plays the
tournament.
If you go to the tournament screen by accident or just to see
the current standings, you can leave the screen without
entering the tournament by entering Q.
If there is already a tournament started but you want to start
a new one, enter 'N'. This will let you set up a new
tournament as was described above. Tournament records are
kept in a file called "mah.trn" so you can also start a new
tournament by deleting this file.
USING A MOUSE:
If you have a mouse driver installed on your computer it will
automatically be detected when the game starts and mouse play
will be selected. If for some reason your mouse is not being
automatically detected you can still select it from the setup
screen or by using the -m option on the command line. You can
also use the setup screen to turn off the mouse if you wish.
The game was tested using a Mouse Systems PC Mouse and a Genius
GM-6 mouse but any Microsoft-compatible mouse will probably
work. When using a mouse most commands can be issued using the
mouse. You must have your mouse driver installed as a device
in your config.sys file for Mah Jongg to be able to use the
mouse.
The mouse interface is a bit different from what you're
probably used to but it seems to be easy enough to use. Tiles
are selected by moving a colored outline over them and then
clicking once. To de-select the first tile, just click on it
a second time. After selecting both tiles a line with the
options "Y/N" (yes/no) comes up. If you just click without
moving the mouse you'll select yes and the tiles will be
removed. Slide the mouse left and right to change your
selection.
Several people suggested going away with the Y/N move confirm-
ation, so it's now optional. Disable Y/N prompts either with
the command line option "-y" or through the setup screen.
Many commands available during the game (help, new, undo, file,
setup, quit) are available as "keys" along the left side of
the screen. Move the outline over the command you want and
click once.
"Help" and "Quit" require a yes or no confirmation so you
won't do them by accident. Slide the mouse left and right to
select yes or no and then click. The help command first asks
if you want to see matching tiles (if there are no more
matches it will tell you that instead) and then prompts for a
yes or no to see each additional matching pair of tiles. If
you ask for help after you've already selected the first tile
a search for matching free tiles takes place. If a match is
found, it is highlighted and all you need to do is confirm to
remove the pair of tiles. If no match is found it puts you
back to select the first tile again. There is a short-cut for
mouse users to invoke help. Just hit the right mouse button
to get help in selecting either tile. Normally it doesn't
matter which mouse button you use.
"New" lets you end the current game and either replay the same
board or go on to the next board. You will be prompted to
select either "next" or "again" to either go on to the next
consecutive board or to play the same board again.
"Undo" replaces the last two tiles you removed. You can undo
as many times as you want until all 144 tiles are back on the
board. Undo does not ask for any confirmation. Undo actually
allows you to replay your entire game both forward and
backward. Clicking the left mouse button restores tiles that
were removed and clicking the right mouse button takes the
tiles back off again.
"File" lets you either save the game at its current point or
load a previously saved game. You are prompted to choose
between "load" and "save". If you pick save you will then be
asked to confirm if you really want to do it. If you pick
load a list of saved games will be displayed. Use the arrow
keys to select the game you want, then hit the Enter key to
load it. Hitting the ESC key will abort the load.
"Setup" brings you to the set up screen, the same as hitting
"S" from the title screen. You can then change colors, set
timed games, disable the mouse, select a specific board, etc.
Changing colors, enabling the mouse or changing tile sets will
not effect the game in progress; when you exit set up you will
be back at the same point in the game that you were at when
you entered set up.
Any error messages that appear during the game (i.e. "Invalid
Selection") normally stay visible for a few seconds before
allowing play to continue. To immediately remove a message
and resume play just click the mouse or hit a key.
USING STATGEN:
Since v3.2, Mah Jongg has come with a utility called
statgen.exe. This program allows you to analyze and modify
the statistics file that is kept each time you play the game.
To run the statistics generator, just type "statgen" on a
line by itself. You'll be prompted for the filename of your
statistics file and you'll be asked if you want to edit
(enter a letter E) or just display (enter a D) your current
statistics.
If you select display, you'll be shown your total games
played, average score, number won and worst score. Then a
list of all board numbers won and another list of additional
boards played will be shown.
If you select edit you can change the list of boards played
and won to include boards you played before v3.2. Just
select edit and you'll first be prompted for the boards
you've won. Enter one board number per line and finally
enter a -1 when you're done. Then you'll enter the list of
additional boards played but not won in the same way. Again
you enter a -1 when done. After you're done editing statgen
will show you your current stats so you can confirm that
you've entered everything correctly.
You can also enter statgen's parameters from the command
line. The first parameter is the statistics file name and
the second is either -e (to edit) or -d (to display). If
you only enter one parameter display is assumed. For
example, to edit the statistics file "stats.me" the command
line would be
statgen stats.me -e
There is also a "batch mode" available for those of you who
have kept your records in a database. You'll need to transfer
your games played and games won list into a straight ASCII text
file with one board number per line and a -1 after the end of
the won board list and another -1 at the end of the file. For
example, if you've played boards 100, 101 and 102 and played
and won boards 200 and 201 your file would look like this:
200
201
-1
100
101
102
-1
Save this file under whatever name you choose. For this example
we'll say it was saved with the filename "temp". Then, to read
these board numbers into your statistics, run statgen as follows:
statgen mahstats -b < temp
This assumes that statgen is in your current directory, your
stats file is called mahstats and it also is in the current
directory and your list of boards is in the file temp. After
temp has been read in, your new stats will be displayed to
verify that everything worked. Suggestion: before running in
batch mode, make a backup copy of your stats file in case
something goes wrong.
USING TILEMAKER:
The Tile Maker utility allows you to make your own sets of
tiles or modify sets made by others including the standard
Chinese mahjongg tiles.
The utility is similar to many paint programs with which
you might be familiar, though because of its specialized
nature it includes less functions. Tile Maker can be
controlled with your mouse or keyboard, but unlike Mah
Jongg itself it only supports EGA (no Hercules).
How tiles are stored on disk:
First, some basics about working with tile sets. A Mah
Jongg tile set includes 42 different tiles. Eight of them
are in the "wild card" suits (normally the flowers and
seasons suits) where any tile in the suit matches any
other. The other 34 tiles use the standard matching rule
where there are four of each tile on the board and the
tiles must be matched exactly to be removed. You'll want
to keep the game rules in mind when designing your tiles.
All 42 tiles are stored in a single disk file. You'll
need to know how the tiles are numbered so that you store
your new tiles in the proper place. For reference, the
standard tile set is numbered as follows:
Tiles 1 - 9: suit of dots
Tile 10: white dragon
Tiles 11 - 19: suit of bamboo
Tile 20: green dragon
Tiles 21 - 29: suit of characters
Tile 30: red dragon
Tiles 31 - 34: suit of winds
Tiles 35 - 38: suit of seasons
Tiles 39 - 42: suit of flowers
You have three sets of tiles that you can start with. The
file "mahjongg.til" is the standard tile set. The file
"flags.til" is a tile set made out of world flags. Note
how the flags are organized into suits: countries in the
Americas are tiles 1-9, countries in Europe are tiles
11-19, countries in Asia are tiles 21-29, African
countries replace the dragons and winds, and special flags
and compass points are used for the wild card suits so
they look distinctly different from the normal suits.
Finally, the file "blank.til" is a full set of blank
tiles. Also included is a file with only a single tile,
"temp.til" which is a template for making the world flags
set. Using a template like this is important to ensure
that the object on the tile aligns properly.
Getting Started:
Start up tilemakr.exe by typing "tilemakr" on the command
line; there are no command line options. Note the drawing
area on the left and the command area on the right. If
you're using a mouse you can just point to a command and
click; if you're using the keyboard use the letter next to
the command.
Most of the commands are self-explanatory. Reading a tile
file will first show you all tiles in the file and then
allow you to select by number the tile you want. When
saving a file you'll need to remember the numbered
position in the file that you want to save it to. The
number of the last tile read in is displayed in the lower
right corner of the screen.
After you've loaded a file once you can use the "re-read"
command to get a new tile without waiting for disk access.
You can also review the complete set of current tiles
using the "view last images" command. The full tile set
is always kept in memory to let you access it. This screen
is not updated by the save command however.
Drawing:
Normal drawing can be done with the keyboard or mouse.
Using the mouse, select the desired color by pointing at
the color chart and clicking. Then to draw just point at
the drawing area and click on each spot where you want to
draw.
Because it's frequent to switch back and forth between two
colors, Tile Maker remembers the last color you've selected
as well as the current one. Use the right mouse button at
any time to toggle back and forth between the current and
previous drawing color.
If you're drawing with a mouse there are a few basic drawing
shapes available in addition to the simple dot. Under the
drawing area is a set of push buttons where you can select
dots, line, circle, rectangle, filled circle or box. Click
on the desired button and you'll see it push in to confirm
proper selection.
When using the line or rectangles, move the mouse cursor to
one end (corner) and hold down the mouse button. Then move
to the other end (corner) and release the button. When using
the circles you start in the center and pull away until the
circle is the desired size. You can pull in any direction
since the circle is symmetrical.
When within the drawing area, the mouse cursor snaps to
the center of each pixel when moving around or drawing
dots, lines or rectangles. If you prefer that the cursor
move smoothly you can turn off the snap function by
clicking on the "snap Cursor on/off" command on the right
hand of the screen. For most drawing you'll probably find
the snap cursor useful as you'll be able to more clearly
tell what pixel is being pointed to.
Drawing with the keyboard requires typing the letter or
number of the desired color, then moving the cursor around
with the arrow keys and finally hitting space when you
want to draw a dot.
Additional Drawing Functions:
The "fill" command works a bit differently from paint
programs, because it only fills up from the starting
point. This is handy at times because you don't have to
close off the bottom of the area you're going to fill. If
you have a very irregularly shaped area you may have to
use fill more than once to fill it all. Note that fill
works from the position of the keyboard cursor, not from
where the mouse points.
The "flip", "rotate" and "shift" functions all work with
only the face of the tile. They also force a one pixel
border around the edge of the tile surface, so you'll want
to be careful not to shift things past this border (unless
that's what you want to do!).
When you're done with your tile set, use the "N" (add Name)
function. The name you enter will be displayed at the
bottom of the screen when playing Mah Jongg.
The best thing to do is get the Tile Maker running and
experiment. You'll find designing good tiles is quite a
challenge, but it will allow you to have your own
personalized version of the game when you're done.
Share Your Creations!
If you develop any tile sets you'd like to share please
upload them to the support BBS (Xevious: 508-875-3618) or
mail them to the author on a diskette. I'd suggest that
you include a text file describing your tile set and of
course you should include your name in it. I'm looking
forward to seeing what you come up with!
TECHNICAL NOTES
Many people write asking about how certain aspects of Mah
Jongg work. This section is intended to cover the most
asked questions.
"How are the different boards created?"
There are 65,536 different board layouts available. The
arrangements are random or at least as random as possible.
The game starts with a scrambled pile containing all 144
tiles (an array for you programmer types). Then, it goes
through and takes the tiles one at a time at random from
the pile and places them on the board.
"OK, if the boards are random how is it that board #1 is
always the same?"
Computer random number generators don't generate truly
random numbers. They actually generate a specific series
of numbers that are essentially distributed randomly. For
most purposes the distinction doesn't make a difference.
Random number generators are generally started up by
giving them a "seed". The seed itself needs to be
somewhat random since the same seed will always generate
the same series of numbers.
Mah Jongg takes advantage of this feature. The board
number is actually the random number generator seed and so
each seed always generates the same series of numbers and
thus the same board layout. The Turbo C language allows
seeds to be values from 0 to 65535 which is why Mah Jongg
has 65536 possible boards.
"Can all boards be won?"
Definitely not. But then that's true of just about any
type of solitaire game. After playing enough boards
you're certain to run into situations where three of the
same tile are stacked on top of each other or similar
things that result in a board that cannot be beaten.
It appears, though, that a large percentage of boards can
be beaten. A number of people have put great effort into
solving series of consecutive boards, playing the same
board over and over until beaten. Their results indicate
that 50-75% of all boards can be won.
"Can I get a CGA version?"
CGA? Blech. Would you really want to play Mah Jongg on a
screen with only 1/4th the pixels and only four ugly
colors? It just wouldn't be the same...
Actually, several people have attempted to do it. The
results are about what you'd expect though.
"OK, how about a VGA version?"
Sure, this could be done but would it really be worth it?
The appearance of the board would not be significantly
different from the EGA version, since VGA is still limited
to 16 colors. The vertical resolution does improve from
350 to 480 pixels but that would be about the only
difference, and from what I've seen comparing other
programs it wouldn't be all that noticeable.
Now SuperVGA is a different story. The problem here is
that SuperVGA is not a standard (IBM invented VGA but does
not support SuperVGA). But what mode to support? 640x480?
800x600 (wouldn't THAT be nice)? Having 256 colors would
make some really beautiful tile sets possible, but until a
real standard is available it's just too difficult to try
to support all the different video boards.
"What language is Mah Jongg written in?"
Mah Jongg is written in Turbo C. I originally used v1.0
but am now using v2.0. Since Turbo C v1.0 did not have
the graphics library that later versions include, Mah
Jongg is done entirely with my own graphics routines.
Tile Maker is written in Turbo Pascal v5.5
"Can I get the source code?"
Sorry, the source code is not available.
REVISION HISTORY:
NEW IN 3.4:
Stats file "mahstats" now defaults to current directory
Tile files can be selected from a list instead of by name
in setup screen
Hitting F8 displays the currently loaded tile set
Saved games are now selected from a list, as games are
now saved with the filename MAH#####.SAV where #####
is the board number
Keyboard 'mouse' allows keyboard users to play using
arrow keys instead of entering coordinates
NEW IN 3.3:
Alternate tile sets can be used
Y/N prompts can be disabled
New "victory" screen
Hercules mode bug fix
NEW IN 3.2:
"Boss Mode" has been replaced by a true shell to DOS
Records kept of boards played and won:
If the current board has been played before, an asterisk
will appear next to the board number; if the board has
been won, the word "WON" will appear next to the board
number
Separate statistics generator program displays your stats
plus list of boards played and won
Improved accuracy of average score statistic
Automatically enables mouse play if mouse driver detected
Exit screen written directly to memory instead of using ANSI
NEW IN 3.1:
Stats no longer overflow
Stats now correctly update when you win a game
Tournament set up screen now available during game
Automatically detects EGA and Hercules cards
Monochrome EGA selectable for LCD laptop computers
Command line parameters can be made permanent using
setup program (available to registered users only)
NEW IN 3.0:
Runs in Hercules graphics mode
Game statistics kept for current game and for all games
played
Undo command (both forward and backward)
Set up screen available during game
Tile corners now display properly
NEW SINCE 2.6:
Fixed bug in tournament mode (stats weren't being saved)
A list of all pairs of tiles played so far is available by
hitting the F2 key
NEW SINCE 2.5:
Mouse cursor color is now selectable from command line or
setup screen
When playing a tournament game your score was not always
saved if you completed the board; this is now fixed
NEW SINCE 2.3:
Help screen -- hit F1 to get a list of commands, options,
and some basic playing tips
"Boss Mode" -- hit F10 to hide the game and display a
harmless looking disk directory
New tournaments can be started from within the tournament
setup screen
After winning a game, answering "Y" to play again gives
you a different board instead of the same one over again
Requesting to quit when selecting the second tile now asks
for a confirmation
NEW SINCE 2.2:
Columns entered as letters instead of numbers; rows and
columns can be entered in any order as a result
Several tiles redrawn
NEW SINCE 2.1:
ATI EGAWonder card problem work around added
Mouse cursor display sped up (possible fix to NEC EGA
card problem of not showing mouse cursor)
NEW SINCE 2.0:
Help on 2nd tile selection (find match to 1st tile if any)
Help available with right mouse button as a short-cut
Error messages can be cancelled by clicking the mouse
Confirmation required for mouse action "keys" to prevent
accidents
NEW SINCE 1.0:
Mouse support
Setup screen, allows access to all game options more easily
than through command line options
Tournament play
Selectable background color
New commands during play
A (play same board Again)
N (play New board)
More command line options
-cx (background Color)
-r (Restart saved game)
-m (use Mouse)
More authentic tile appearance
Faster tile displaying
WINNING
Not all boards are win-able but during testing a number of
boards that are beatable were found. In addition, many people
who have written to register their copy of Mah Jongg have
included lists of boards they have completed. If you want to
play a board that definitely can be won, try one of the
following:
55598, 49070, 64856, 15784, 29514, 54176, 40060, 8, 44213, 21,
43, 148, 290, 302, 329, 364, 370, 386, 410, 421, 459, 560,
627, 634, 656, 695, 735, 743, 795, 819, 827, 839, 858, 876,
888, 890, 905, 936, 952, 985, 1034, 1037, 1066, 1101, 1104,
1138, 1145, 1149, 1154, 1207, 1241, 1244, 1296, 1313, 1346,
1365, 1390, 1392, 1428, 1430, 1490, 1543, 55309, 43924, 47924,
38313, 23986, 45355, 55082, 6843, 52079, 50333, 24654, 64557,
14, 54438, 2, 52916, 32141, 62500, 50408, 5119, 8694, 12224,
27869, 47615, 49522, 56447, 4113, 6108, 36785, 38382, 54586,
36607, 63202, 4540, 21015, 1132, 37696, 20009, 19619, 42246,
56809, 5336, 61319, 15037, 33357, 52158, 63866, 41619, 48165,
13692, 17604, 40284, 47779, 57572, 13932, 4236, 4243, 24942,
15318, 59498, 50542, 41121, 4344, 38110, 26208, 307, 32812,
16496, 16213, 47788, 65123, 36792, 16965, 3989, 63331, 40111,
54491, 43421, 10796, 56185, 40640, 433, 9619, 8922, 800,
20926, 1, 23, 56, 7971, 21399, 32381, 33212, 36836, 48094,
53751, 58094.
Enjoy!
*****************************************************************************
* INCLUDED FILES *
*****************************************************************************
The following files are included in Mah Jongg:
MAHJONGG.EXE Mah Jongg program
MAHJONGG.DOC This file
MAHJONGG.TXT A brief description of Mah Jongg
ORDERFRM.TXT Ready to print registration form
SHAREWRE.TXT Information on Shareware
STATGEN.EXE Statistics generator program
TILEMAKR.EXE Tile set editing utility
MAHJONGG.TIL Standard tile set
FLAGS.TIL Flags of the world tile set
FLAGS.TXT Text file describing FLAGS.TIL
BLANK.TIL Full set of blank tiles
TEMP.TIL Single blank tile template
You are free to pass this program along to friends, give it to
user groups, upload to BBS's, etc. with the understanding that
anyone who continues to use the game is required to register it.
All these files MUST be included when distributing this program.
If you archive the program for distribution through BBS's, please
use the name MAHJNG34.ZIP (or .LZH, .PAK, etc. as appropriate).
*****************************************************************************
* REGISTRATION *
*****************************************************************************
Please remember that Mah Jongg is not free software. As with
all Shareware you are expected to purchase it after you've given
it a reasonable trial.
The registration price for Mah Jongg is $15, for which you'll
receive by return mail a copy of the latest version, a setup
utility that lets you make your command line options permanent,
several alternate tile sets and possibly another Shareware game
to try out.
Several other games are available from the same author. If you
register more than one game at the same time, a discount is
available. Register the first game for $15 and then each additional
game is only $10. For example,
$15 to register Mah Jongg
$25 to register Mah Jongg plus one other game
$35 to register Mah Jongg and two other games
etc.
The same discount applies to site licenses. Register the first
copy of Mah Jongg at $15 and any number of additional copies at
$10 each.
Games currently available include Shooting Gallery, EGATrek,
CIPHER, SuperFly and BassMap.
Collections of tile sets created by various Mah Jongg players
are also available for $5 each. Each disk includes ten or more
tile sets.
A deluxe version of Mah Jongg is also available. This includes a
storage case, printed manual, quick reference card, plus the
registered version of the game. This version is available for
$22. No discount is available on this version.
Please include $2 for shipping/handling along with the payment
for whatever items you order; if ordering deluxe versions please
include $4. Outside North America please include $4 for shipping/
handling.
*****************************************************************************
* DISCLAIMER OF WARRANTY *
*****************************************************************************
This software is sold "as is", without any warranty as to
performance or any other warranties whether expressed or
implied. Because of the many hardware and software environments
into which this program may be used, no warranty of fitness for
a particular purpose is offered. The user must assume the
entire risk of using the program. Any liability of the seller
will be limited exclusively to product replacement or the refund
of the registration fee.
*****************************************************************************
* ASSOCIATION OF SHAREWARE PROFESSIONALS *
*****************************************************************************
This software is produced by Nels Anderson who is a member of
the Association of Shareware Professionals (ASP). ASP wants
to make sure that the shareware principle works for you. If
you are unable to resolve a shareware-related problem with an
ASP member by contacting the member directly, ASP may be able
to help.
The ASP Ombudsman can help you resolve a dispute or problem
with an ASP member, but does not provide technical support
for members' products. Please write to the ASP Ombudsman at
P.O. Box 5786, Bellevue, WA 98006, USA or send a CompuServe
message via easyplex to ASP Ombudsman 70007,3536.
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
*****************************************************************************
* FINDING MAH JONGG *
*****************************************************************************
The best place to find Mah Jongg updates, tile sets, etc.
is on Xevious, the official support board. In addition, I
will upload updates as available to the following BBS's:
Channel One (Cambridge, MA): 617-354-8873
Sound Advice (Gladstone, MO): 816-436-4516
Xevious (Framingham, MA): 508-875-3618
*****************************************************************************
* AVAILABLE SOFTWARE *
*****************************************************************************
Other software which I've either written or contributed to:
EGATREK: Space strategy battle game, using full EGA graphics,
based on the classic minicomputer game. Winner of
Public Brand Software's 1988 software contest. Chosen
as top star trek type game by "Shareware Magazine",
July/August 1990.
MAHJONGG: Solitaire game played with Chinese tiles. Supports
EGA and Hercules graphics; mouse optional. See reviews
in December 1988 "PCWorld" and April 1989 "Compute!".
SHOOT: "Shooting Gallery" tests your aim and reflexes in a
number of different rounds of shooting. Uses MCGA/VGA
graphics mode for 256 colors and and also requires
a mouse.
SUPERFLY: An action game in which your house has been invaded by
a variety of bugs which you must swat while searching
for the "Super Fly". Includes 20 different rounds, 3
skill levels. Supports hi-res EGA and VGA.
CIPHER: A crypto-quotes type word game that runs in full color
VGA or EGA graphics mode. Can be played with a mouse
or keyboard. Also supports text modes.
MOUSTOOL: A collection of utilities for Turbo Pascal programmers
wishing to incorporate mouse input in their programs.
Sample programs included for both EGA and CGA graphics.
Used extensively within CIPHER.
SOUNDPAS: A collection of utilities for Turbo Pascal programmers
to add music and sound effects to their programs.
Includes units for interrupt and real time sounds.
BASSTOUR: (Written by Dick Olsen). Game that simulates a fishing
tournament, including rod and lure selection. Runs in
EGA/CGA/MCGA/Hercules graphics modes. Uses many of the
utilities from MOUSTOOL.
BASSMAP: Companion program for BassTour which allows lakes to be
created or modified. EGA and CGA versions included.
CALLDOOR: A PCBoard 14.x door that lets users view the system caller
log. Logs for any node can be viewed in reverse order
(i.e., most recent caller back) or the logs can be searched
for any string.
WAITDV: A sysop's utility that allows synchronizing of nightly
house keeping events on a multinode system. WAITDV was
written especially for systems running under DESQview: it's
DV-aware so the active task runs much faster than it would
if a non-aware wait utility was used.
TOPPERS: A PCBoard 14.x sysop utility that generates a formatted
list of the board's top users (by number of calls,
downloads and uploads). The output file has three columns,
one for each category. Graphics and non-graphics output
is available.
TOPTALK: A PCBoard 14.x sysop utility that tracks user activity in
conferences based on number of messages posted. Included
is a complete record of all user activity plus a bulletin
file of the top ten most active message posters.
GROUPERS: A PCBoard 14.x game door. Players gamble on the outcome
of the next card drawn from the deck. The game is set up
to run as a monthly contest and keeps track of current
scores, generates a current scores bulletin and an end of
month final scores bulletin.
- - - - -
Mah Jongg is copyright (c) 1987-1990 by Nels Anderson. All rights reserved.